/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package net.etrs.formathlon.control.exception;

import java.util.logging.Level;
import net.etrs.formathlon.metier.exception.MetierException;
import net.etrs.formathlon.vue.exception.VueException;

/**
 * Classe encapsulant les exception
 * @author OPIF
 */
public class ExceptionManager {
    
    private static final String ERREUR_INATTENDUE="L'application a généré une erreur inattendue.";
    
    public static VueException traiter(Exception erreur){
        Level niveau=Level.SEVERE;
        VueException retour=null;
        
        if(erreur instanceof VueException){
            niveau=Level.INFO;
            retour=(VueException)erreur;
        }
        else if(erreur instanceof MetierException){
            niveau=Level.WARNING;
            retour=new VueException(erreur.getMessage(), erreur);
        }
        else{
            niveau=Level.SEVERE;
            retour=new VueException(ERREUR_INATTENDUE, erreur);
        }
           return retour;
    }
       
}
